【例子介绍】里客云面签支付
【相关图片】
什么是个人免签支付
个人免签支付就是给个人用的支付接口,一般的支付接口都需要营业执照才能申请,个人很难申请的到,或者是没有资质去申请,要和支付商进行签约的。免签,顾名思义就是不需要签约。那么个人免签支付就有市场了,就是为了解决个人无法轻易申请到支付接口的问题。
免签的方案有很多种
- APP监听收款码的支付结果,然后修改页面的支付结果。
- 二次清算。款先到拥有官方支付接口的商户中,由商户给你结算。
- Xposed微信插件实现全自动监听创建收款码、以及收款过程,容易封号。
方案其实有很多种,但是以上的方案都有不少的缺点,当然这些方案仍有不少人在用,没办法,确实是解决问题的一种办法。而本次文章我也是通过简单的技术开发实现第一种APP监听收款码的免签支付方式。
APP监听收款码的支付结果
整个过程很简单:
访问URL -> 检查数据库2分钟内未支付的订单金额 -> 如果2分钟内未支付的订单金额中存在当前订单一样的金额,需要在当前金额基础上 0.01元用于区分订单的唯一性 -> 用户扫码支付 -> 安卓手机APP监听到这笔订单的收款 -> 将收款金额异步发送到服务器 -> 服务器修改数据库该笔订单金额的支付状态 -> 扫码页面一直在轮询订单的支付状态,发现已支付就修改页面的支付结果 -> 完成支付。
维护日志
当前版本1.0.1
2023-03-02维护记录
- 修复倒计时的Bug
- 将时区设置为北京时间
- 优化金额逻辑(尽可能使用已过期的最小金额而不是一直使用最大的金额 0.01的逻辑)
- 增加最大未支付订单限制,默认达到10个未支付的订单暂停创建新订单,如需修改请在index.php里面根据注释修改。
- 使用旧版的用户请重新下载整套代码。
监听APP配置
监听APP配置也挺简单的,只需要将notify.php的线上URL配置至APP即可。具体操作请看截图:
1、打开APP,选择**【发送通道】点击【Webhook】,选择【GET请求】** ,输入notify.php 所在服务器的URL,下面的参数填写**【orderMsg=[msg]】**即可。
2、选择**【转发规则】,点击【应用】,添加转发规则,【APP包名】,选择【是】,包名输入【com.tencent.mm】**,选择的发送通道是上一步你创建的通道,下方的模板直接选择通知内容即可。
到这里,APP基本完成配置,然后将这个APP的自动启动开启,以及加入电池优化白名单,保证这个APP能一直在后台运行不被杀死。
赞赏码获取
为什么用赞赏码而不用收款码?因为收款码更容易被风控,收款码更加适合面对面扫码收款,而不适合线上远程收款,因为你的每一笔支付,都会记录付款ip地址,定位等信息,扫码次数多了,就会被系统判断远程付款,容易触发风控。赞赏码是用于网络上的赞赏使用,相对来说是比收款码安全的。
获得自己的赞赏码后,将赞赏码的那部分裁剪出来,替换掉源码中 zsm.jpg 这个文件就行了。赞赏码是可以设置赞赏的引导语的,可以将引导语修改为【请点击其他金额输入】,引导用户。
【源码结构】
.
├── liKeYun_MqPay-main
│ ├── Db.php
│ ├── DbClass.php
│ ├── README.md
│ ├── checkPay.php
│ ├── css
│ │ └── style.css
│ ├── img
│ │ ├── expire.png
│ │ ├── success.png
│ │ └── zsm.jpg
│ ├── index.php
│ ├── js
│ │ └── jquery.min.js
│ ├── mqpay_order.sql
│ └── notify.php
└── 里客云面签支付_liKeYun_MqPay-main.zip
4 directories, 13 files
评论